package com.hsylient.javase.chapter02.demo03;

import com.hsylient.javase.chapter02.demo03.demo01.Animal;
import com.hsylient.javase.chapter02.demo03.demo01.Dog;
import org.junit.Test;

public class TestInterface {

    // 接口中的常量在子类中可以通过对象去访问 同时也可以通过接口去直接访问
    @Test
    public void testField() {
        Dog dog = new Dog();
        Integer maxAge = Animal.MAX_VALUE;
        Integer maxValue = dog.MAX_VALUE;
    }

    @Test
    public void testMethod() {
        Animal animal = new Dog();
        animal.eat();
    }

    // 接口中的默认方法子类可以选择性的实现
    @Test
    public void testDefaultMethod() {
        Animal animal = new Dog();
        animal.sleep();
    }

    @Test
    public void testStaticMethod() {
        Animal.drink();
    }

}
